Routers are well known computer network devices that forward data packets across a network toward their destinations. In this regard, a typical router passes logically addressed packets from their source toward their destination through intermediary nodes. Often a router performs its function of routing packets based on routing tables, which may be either simple or complex based on the complexity of the network in which the router operates. Since routers often join two networks together, it is becoming increasingly common for individual homes, businesses or other entities to utilize routers to connect local area networks (LANs) to the Internet.
However, current routers primarily support routing between input and output functions. In other words, the resources of a particular router are useable only by the particular router since layers of the router are tightly coupled within a particular chassis. As such, current routers are unitary in their architecture and therefore do not support geo-resiliency, resource sharing and common application elements. Thus, a first router in a particular location which is receiving large demands for its resources may become constrained in its ability to provide services within the particular location, while a second router in a nearby location which is receiving lower demand for its resources may not be able to provide any routing assistance to the first router.
Although the generic term router is used above, concepts described herein may be applied equally to both core and edge routers, for example.